<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>

<body>

</body>

</html>

<!-- 
1. 计算属性
作用: 处理复杂的数据
2. axios
3. 案例的axios版
4. 组件
4.0 特点
组件is封装
封装html css js
特殊的Vue实例
自己的选项template props
Vue原来的选项:data methods computed等
组件有独立的作用域
每当使用一次组件时,就相当于实例化一个新对象
组件分类:全局和局部
4.1 定义组件的步骤
a.Vue.component('组件名',{template:`<div></div>`})
b. 在标签中使用组件(自定义标签)
4.2 组件嵌套
组件嵌套和该组件是全局和局部 无关
要看组件使用的位置
4.3 组件通信->父->子
需求: 想在子组件使用父组件data中的数据
a. 在子组件中通过选项props:['属性A']
注意: 
props值可以是[]或者{} 
[]中的类型是字符串
该属性的作用是接收父组件传过来的值
b. 在使用该组件时,给属性A赋值 <a-b :属性A="data中的数据"></a-b>
c. 在该组件的视图中使用属性A
注意:
属性A的用法和该组件data中的属性用法一样

5. SPA
好: 操作流畅 组件化
坏:不利于SEO/首屏加载慢/开发难度大

6. js实现了路由功能
a. hash
b. history

7. vue开发一个SPA 要用路由
vue-router
a. router-link to="/标识"
b. router-view 显示组件容器
c. 准备好要显示的组件
d. newVueRouter({})
e. 配置路由 routes:[{path:'/标识',component:要渲染的组件},{},{}....]
f. 挂载路由 newVue({router})


之前内容重点
过滤器: 格式化数据 
1. 定义过滤器
2. 实现功能 return 格式化后的结果
3. 使用过滤器 {{msg | 过滤器的名字}}

自定义指令:
分类 全局和局部
1. 定义自定义指令
2. 实现功能
3. 使用自定义指令 v-自定义指令名

watch 
场景: 获取数据后 要进行异步操作


v-model
作用: 绑定表单元素
特点: 双向数据绑定
v-model语法糖
input :value="msg" @input="msg = $event.target.value"

v-for列表渲染
数组 ="(item,index) in 数组 :key="index""
对象="(v,k,index) in 对象 :key="index""

v-if和v-show 条件渲染




 -->